Object-aware transitions

ABSTRACT

Techniques for accomplishing slide transitions in a presentation are disclosed. In accordance with these techniques, objects within the slides are identified, automatically or by a user, and each object is individually manipulable during slide transitions. The individual manipulation applied to each object during a transition may also be automatically determined or specified by a user. In certain embodiments, the persistence of an object between slides may be taken into account in the manipulation of the object during slide transition.

BACKGROUND

1. Technical Field

The present invention relates generally to transitioning betweensequential screens.

2. Description of the Related Art

This section is intended to introduce the reader to various aspects ofart that may be related to various aspects of the present invention,which are described and/or claimed below. This discussion is believed tobe helpful in providing the reader with background information tofacilitate a better understanding of the various aspects of the presentinvention. Accordingly, it should be understood that these statementsare to be read in this light, and not as admissions of prior art.

One use which has been found for computers has been to facilitate thecommunication of information to an audience. For example, it is notuncommon for various types of public speaking, (such as lectures,seminars, classroom discussions, keynote addresses, and so forth), to beaccompanied by computer generated presentations that emphasize orillustrate points being made by the speaker. For example, suchpresentations may include music, sound effects, images, videos, textpassages, numeric examples or spreadsheets, or audiovisual content thatemphasizes points being made by the speaker.

Typically, these presentations are composed of “slides” that aresequentially presented in a specified order. Typically, to transitionbetween slides, a first slide would be replaced by a second slide on thescreen. In some circumstances, some form of animation might be performedon the slides as they move on and off. However, the slides themselvesare generally static images. Due to the prevalence of suchcomputer-generated and facilitated presentations, one challenge is tomaintain the interest level generated by such presentations, i.e., tokeep the audience interested in the material being presented on thescreen.

SUMMARY

Certain aspects of embodiments disclosed herein by way of example aresummarized below. It should be understood that these aspects arepresented merely to provide the reader with a brief summary of certainforms an invention disclosed and/or claimed herein might take and thatthese aspects are not intended to limit the scope of any inventiondisclosed and/or claimed herein. Indeed, any invention disclosed and/orclaimed herein may encompass a variety of aspects that may not be setforth below.

The present disclosure generally relates to techniques for providingobject-aware transitions between slides of a presentation. Suchobject-aware transitions may include identifying each object on theslides being transitioned in and out. The objects or object-types maythen be individually manipulated as part of the transition, such as byapplication of various effects, That is, the transition process mayaccount for and independently animate or otherwise transition each ofthe objects or object-types composing the different slides.

In some instances, such object awareness can be leveraged as part of thetransition. For example, in one embodiment, the same object, such as agraphic, word, number, or characters in a word or number, may be presentin the outgoing and incoming slides. In one such example, the transitionmay take advantage of the presence of the common objects in the outgoingand incoming slides to provide an effect or animations specifically forthose objects present in both slides. In this way, the presence of theobject in both slides may be used to tailor the slide transition.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become better understood when the following detaileddescription of certain exemplary embodiments is read with reference tothe accompanying drawings in which like characters represent like partsthroughout the drawings, wherein:

FIG. 1 is a perspective view illustrating an electronic device inaccordance with one embodiment of the present invention;

FIG. 2 is a simplified block diagram illustrating components of anelectronic device in accordance with one embodiment of the presentinvention;

FIG. 3 depicts a slide including objects in accordance with oneembodiment of the present invention;

FIG. 4 depicts the slide of FIG. 3 undergoing a transition in accordancewith one embodiment of the present invention;

FIGS. 5A-5F depict screenshots of an object-aware slide transition inaccordance with one embodiment of the present invention;

FIGS. 6A-6D depict screenshots of another object-aware slide transitionin accordance with one embodiment of the present invention;

FIGS. 7A-7I depict screenshots of a further object-aware slidetransition in accordance with one embodiment of the present invention;

FIGS. 8A-8F depict screenshots of an additional object-aware slidetransition in accordance with one embodiment of the present invention;

FIGS. 9A-9F depict screenshots of another object-aware slide transitionin accordance with one embodiment of the present invention;

FIGS. 10A-10I depict screenshots of an object-aware slide transitionwith persistent objects in accordance with one embodiment of the presentinvention; and

FIGS. 11A-11F depict screenshots of another object-aware slidetransition with persistent objects in accordance with one embodiment ofthe present invention.

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

One or more specific embodiments of the present invention will bedescribed below. These described embodiments are only exemplary of thepresent invention. Additionally, in an effort to provide a concisedescription of these exemplary embodiments, all features of an actualimplementation may not be described in the specification. It should beappreciated that in the development of any such actual implementation,as in any engineering or design project, numerousimplementation-specific decisions must be made to achieve thedevelopers' specific goals, such as compliance with system-related andbusiness-related constraints, which may vary from one implementation toanother. Moreover, it should be appreciated that such a developmenteffort might be complex and time consuming, but would nevertheless be aroutine undertaking of design, fabrication, and manufacture for those ofordinary skill having the benefit of this disclosure.

The application is generally directed to providing object-awaretransitions between slides of a presentation. In particular, inaccordance with the present disclosure, different objects within eachslide are identified and can be separately and independently handledduring slide transitions. In certain embodiments, this involvesidentifying objects present in both and outgoing and incoming slide andproviding specific animation or handling for those objects. With this inmind, an example of a suitable device for use in accordance with thepresent disclosure is as follows.

An exemplary electronic device 100 is illustrated in FIG. 1 inaccordance with one embodiment of the present invention. In someembodiments, including the presently illustrated embodiment, the device100 may be processor-based system, such as a laptop or desktop computer,suitable for preparing and/or displaying presentations, such as usingthe Keynote® software package available from Apple Inc as part of theiWork® productivity package. Other processor-based systems suitable forpreparing and/or displaying presentations may include servers,thin-client workstations, portable or handheld devices capable ofrunning presentation software, or the like. By way of example, theelectronic device 100 may be a model of a MacBook, MacBook Pro, MacBookAir, iMac, Mac mini, or Mac Pro available from Apple Inc.

In the presently illustrated embodiment, the exemplary electronic device100 includes an enclosure or housing 102, a display 104, inputstructures 106, and input/output connectors 108. The enclosure 102 maybe formed from plastic, metal, composite materials, or other suitablematerials, or any combination thereof. The enclosure 102 may protect theinterior components of the electronic device 100 from physical damage,and may also shield the interior components from electromagneticinterference (EMI).

The display 104 may be a liquid crystal display (LCD), cathode ray tube(CRT) or other suitable display type. For example, in one embodiment, asuitable LCD display may be based on light emitting diodes (LED) ororganic light emitting diodes (OLED). In one embodiment, one or more ofthe input structures 106 are configured to control the device 100 orapplications running on the device 100. Embodiments of the portableelectronic device 100 may include any number of input structures 106,including buttons, switches, a mouse, a control or touch pad, akeyboard, or any other suitable input structures. The input structures106 may operate to control functions of the electronic device 100 and/orany interfaces or devices connected to or used by the electronic device100. For example, the input structures 106 may allow a user to navigatea displayed user interface or application interface.

The exemplary device 100 may also include various input and output ports108 to allow connection of additional devices. For example, the device100 may include any number of input and/or output ports 108, such asheadphone and headset jacks, video ports, universal serial bus (USB)ports, IEEE-1394 ports, Ethernet and modem ports, and AC and/or DC powerconnectors. Further, the electronic device 100 may use the input andoutput ports 108 to connect to and send or receive data with any otherdevice, such as a modem, external display, projector, networkedcomputers, printers, or the like. For example, in one embodiment, theelectronic device 100 may connect to a scanner, digital camera or otherdevice capable of generating digital images (such as an iPhone or othercamera-equipped cellular telephone) via a USB connection to send andreceive data files, such as image files.

The electronic device 100 includes various internal components whichcontribute to the function of the device 100. FIG. 2 is a block diagramillustrating the components that may be present in the electronic device100 and which may allow the device 100 to function in accordance withthe techniques discussed herein. Those of ordinary skill in the art willappreciate that the various functional blocks shown in FIG. 2 maycomprise hardware elements (including circuitry), software elements(including computer code stored on a machine-readable medium) or acombination of both hardware and software elements. It should further benoted that FIG. 2 is merely one example of a particular implementationand is merely intended to illustrate the types of components that may bepresent in a device 100 that allow the device 100 to function inaccordance with the present techniques.

In the presently illustrated embodiment, the components may include thedisplay 104 and the I/O ports 108 discussed above. In addition, asdiscussed in greater detail below, the components may include inputcircuitry 150, one or more processors 152, a memory device 154, anon-volatile storage 156, expansion card(s) 158, a networking device160, and a power source 162.

The input circuitry 150 may include circuitry and/or electrical pathwaysby which user interactions with one or more input structures 106 areconveyed to the processor(s) 152. For example, user interaction with theinput structures 106, such as to interact with a user or applicationinterface displayed on the display 104, may generate electrical signalsindicative of the user input. These input signals may be routed via theinput circuitry 150, such as an input hub or bus, to the processor(s)152 for further processing.

The processor(s) 152 may provide the processing capability to executethe operating system, programs, user and application interfaces, and anyother functions of the electronic device 100. The processor(s) 152 mayinclude one or more microprocessors, such as one or more“general-purpose” microprocessors, one or more special-purposemicroprocessors and/or ASICS, or some combination thereof. For example,the processor 152 may include one or more instruction processors, aswell as graphics processors, video processors, and/or related chip sets.

As noted above, the components may also include a memory 154. The memory154 may include a volatile memory, such as random access memory (RAM),and/or a non-volatile memory, such as read-only memory (ROM). The memory154 may store a variety of information and may be used for variouspurposes. For example, the memory 154 may store firmware for theelectronic device 100 (such as a basic input/output instruction oroperating system instructions), other programs that enable variousfunctions of the electronic device 100, user interface functions,processor functions, and may be used for buffering or caching duringoperation of the electronic device 100.

The components may further include the non-volatile storage 156. Thenon-volatile storage 156 may include ROM, flash memory, a hard drive, orany other suitable optical, magnetic, or solid-state storage medium, ora combination thereof. The non-volatile storage 156 may be used to storedata files such as media content (e.g., music, image, video, and/orpresentation files), software (e.g., a presentation application forimplementing the presently disclosed techniques on electronic device100), wireless connection information (e.g., information that may enablethe electronic device 100 to establish a wireless connection, such as atelephone or wireless network connection), and any other suitable data.

The embodiment illustrated in FIG. 2 may also include one or more cardslots. The card slots may be configured to receive an expansion card 158that may be used to add functionality to the electronic device 100, suchas additional memory, I/O functionality, or networking capability. Suchan expansion card 158 may connect to the device through any type ofsuitable connector, and may be accessed internally or external to theenclosure 102. For example, in one embodiment, the expansion card 158may be flash memory card, such as a SecureDigital (SD) card, mini- ormicroSD, CompactFlash card, Multimedia card (MMC), or the like.

The components depicted in FIG. 2 also include a network device 160,such as a network controller or a network interface card (NIC). In oneembodiment, the network device 160 may be a wireless NIC providingwireless connectivity over any 802.11 standard or any other suitablewireless networking standard. The network device 160 may allow theelectronic device 100 to communicate over a network, such as a LocalArea Network (LAN), Wide Area Network (WAN), or the Internet. Further,the electronic device 100 may connect to and send or receive data withany device on the network, such as portable electronic devices, personalcomputers, printers, and so forth. Alternatively, in some embodiments,the electronic device 100 may not include a network device 160. In suchan embodiment, a NIC may be added into card slot 158 to provide similarnetworking capability as described above.

Further, the components may also include a power source 162. In oneembodiment, the power source 162 may be one or more batteries, such as alithium-ion polymer battery. The battery may be user-removable or may besecured within the housing 102, and may be rechargeable. Additionally,the power source 162 may include AC power, such as provided by anelectrical outlet, and the electronic device 100 may be connected to thepower source 162 via a power adapter. This power adapter may also beused to recharge one or more batteries if present.

With the foregoing discussion in mind, various techniques and algorithmsfor implementing aspects of the present disclosure on such devices 100and accompanying hardware and memory devices are discussed below.Turning to FIG. 3, a slide 180 having graphic objects 182 and characterobjects 184 (i.e., text and/or numbers or strings of text and/ornumbers) is depicted. Such a slide is typically one part of apresentation that typically includes many slides that are sequentiallydisplayed. For example, such a presentation (and the individual slidesof the presentation) may be composed in an application (such as Keynote®available from Apple Inc.) suitable for generating and displayingpresentations on processor-based system such as a computer.

The presentation application may provide multiple modes of operation,such as an edit mode and a presentation mode. In such an embodiment,when in the edit mode, the presentation application may provide aconvenient and user-friendly interface for a user to add, edit, remove,or otherwise modify the slides of a slide show, such as by adding text,numeric, graphic, or video objects to a slide. To display a createdslide or a sequence of slides in a format suitable for audience viewing,a presentation mode of the presentation application may be employed. Insome embodiments, the presentation application may provide a full-screenpresentation of the slides in the presentation mode, including anyanimations, transitions, or other properties defined for each objectwithin the slides.

As used herein, the term “object” refers to any individually editablecomponent on a slide of a presentation. That is, something that can beadded to a slide and/or be altered or edited on the slide, such as tochange its location or size or to change its content, may be describedas an object. For example, a graphic, such as an image, photo, linedrawing, clip-art, chart, table, which may be provided on a slide mayconstitute an object. Likewise, a character or string of characters mayconstitute an object. Likewise, an embedded video clip may alsoconstitute an object that is a component of a slide. Therefore, incertain embodiments, characters and/or character strings (alphabetic,numeric, and/or symbolic), image files (.jpg, .bmp, .gif, .tif, .png,.cgm, .svg, .pdf, .wmf, and so forth), video files (.avi, .mov, .mp4,.mpg, .qt, .rm, .swf, .wmv, and so forth) and other multimedia files orother files in general may constitute “objects” as used herein.

In one embodiment, the objects provided on the slides of a presentationare identified, automatically or by a user, allowing each object to beindependently manipulated, such an animated, when transitioning betweenslides. That is, for a slide being transitioned out, each object may beseparately handled, so that different objects or types of objects mayundergo a different effect as part of the transition. For example,turning to FIG. 4, text and numeric objects 184 on the slide may fadeout as graphic objects 182 are animated off the edges of the slide.Likewise, objects or object types on the incoming slide may also beindependently handled, such as by fading in text on the incoming slideand animating the entrance of images of the incoming slide from above orfrom the sides.

By identifying each object on a slide, effects for transitioning anobject on or off the screen may be specified (automatically or by auser) for each object or each type of object (such as graphics files,text boxes, videos, etc.) independently of one another. The effect usedin transitioning an object may depend on some characteristic of theobject, such as a file type, location on the slide, color, shape, size,and so forth. For example, how close an object is to an edge may be afactor in determining whether the object will be animated on to or offof a slide and, if such an animation is selected, which edge theanimation will occur relative to, how fast the animation will occur, andso forth. While the transition effects for different objects or objecttypes may be handled automatically in one embodiment (such as based uponthe factors described above), in other embodiments, a user may specifywhat effects are associated with the transition of an object on or offthe screen. For example, a user may use a presentation applicationinterface screen to specify properties of one or more objects on aslide, including transition effects for moving the object on or off thescreen.

Such object, or content, aware transitions differ from traditionalapproaches to transition between slides in which each slide isrepresented by a static image (and, therefore, treated as a single unit)and transitions would generally be an animation between the staticimages. However, individual objects on the slides were not individuallymanipulated, such as animated, during transitions. Thus, object-awaretransitions, in the present context, are transitions that have access tothe different individual objects of which the slides or slides arecomposed, and where each object can be animated or otherwise manipulatedindependent of the others.

In terms of the various effects that each object can be subjected to insuch object-aware transitions, virtually any animation and/ormanipulation that can be performed on the respective type of object maybe suitable. By way of example, turning now to FIGS. 5A-5F, a sequenceof screenshots depicting an example of an animated slide transition isdepicted. In this example, the animation may be characterized as a“rotate and slide” animation in which a graphic object 182, here acircle, is “rotated” while “sliding” off of the right side of the slidefrom the center. Independent of the graphic object 182, a characterobject 184, here the text string “Circles”, is also rotated and slid offthe right of the slide. The character object 184, while rotating andsliding to the right of the slide, is also slid upward from beneath thecircle to the vertical center of the slide while being animated off ofthe slide. Thus, the character object 184 and the graphic object 182 areanimated independently of one another such that one object undergoes adifferent animation, i.e., vertical sliding, in the transition. It isalso worth noting that the selected transition, such as “rotate andslide”, may be used to animate in the objects of the next sequentialslide. For example, in an incoming slide, a graphic object and characterobject may be rotated and slid in from the vertical center of the leftside of the next slide, with one or both objects also undergoing anupward or downward animation to achieve the desired presentationlocation on the slide.

In practice, the identification of the graphic and character objects inthe slide may be accomplished automatically, such as by an algorithm ofa presentation application that identifies such objects by file typeextensions or other indicators, or by user designation that the slidecomponent is an object for purposes of object-aware transitions. Oncethe objects are identified and a transition effect, such as “rotate andslide”, is selected for the slide by the user, the manner in which theselected effect is applied to each object in the slide may be determinedautomatically. For example, it may be automatically determined that allobjects will rotate and slide the off of the slide from the verticalcenter of the slide, and the animation of each object may be determinedaccordingly. Alternatively, in other embodiments, the user may be ableto specify particular effects or animations for each object of theslide, or to specify the manner in which an effect is accomplished, suchas with or without vertical centering for an individual object.

In another example, turning now to FIGS. 6A-6D, a sequence ofscreenshots depicting another animated slide transition is provided. Inthis example, the animation may be characterized as a “dissolve andflip” animation in which a graphic object 182, here a square, and acharacter object 184, here the text string “Squares”, are rotated inplace, i.e., flipped, while dissolving or fading from view, such as byprogressively increasing the transparency of the objects. As in theprevious example, the character object 184 and the graphic object 182are animated independently of one another. As noted above, the “dissolveand flip” transition may also be used to animate the objects of the nextsequential slide to introduce those objects, though obviously in such animplementation, the objects will not be dissolving but appearing ormaterializing.

In yet another example, a sequence of screenshots depicting anotheranimated slide transition is depicted in FIGS. 7A-7I. In this example,the animation may be characterized as an “isometric” animation in which,as depicted in FIGS. 7A-7F, a first graphic object 200, here a circle,and a first character object 202, here the text string “Circles”, aresubjected to an isometric transformation and moved off the top and leftedges, respectively, of a slide. As in the previous example, the firstcharacter object 202 and the first graphic object 200 are animatedindependently of one another, of other objects in the slide, and/or ofother objects in the next slide. In addition, the sequence ofscreenshots depicts, in FIGS. 7D-7I, the animation onto the screen of asecond graphic object 204, here a square, and a second character object206, here the text string “Squares”. In the incoming transition of thesecond graphic object 204 and the second character object 206, theseobjects under go the reverse isometric transformation and slide in fromopposite respective sides of the screen as their first slidecounterparts. As noted above, the “isometric” transition for theincoming slide may also be applied to each object of the incoming slidein an independent manner and/or without regard for the objects of theprevious slide.

In a further example, a sequence of screenshots depicting anotheranimated slide transition is depicted in FIGS. 8A-8F. In this example,the animation may be characterized as an “object push” animation inwhich, as depicted in FIGS. 8A-8D, a first graphic object 200, here acircle, and a first character object 202, here the text string“Circles”, are “pushed” in from the left side of the slide. In thedepicted example, the first graphic object 200 and the first characterobject 202 are pushed in at different speeds, e.g., the first graphicobject 200 is lagging, though, at the end of the push in animation, thefirst graphic object 200 is aligned over the center of the firstcharacter object 202. Thus, the first character object 202 and the firstgraphic object 200 move independently of one another, of other objectsin the slide, and/or of other objects in the next slide. In addition,the sequence of screenshots depicts, in FIGS. 8E-8F, the first graphicobject 200 and the first character object 202 being pushed off the rightside of the slide at different speeds, i.e., the graphic is laggingrelative to the text, and a second character object 206 associated withthe next slide is being pushed onto the slide from the left side. Aswith the previous slide, the “object push” transition for the incomingslide may also be applied to each object of the incoming slide in anindependent manner (such as each object moving at a different speed orentering from a different direction) and/or without regard for theobjects of the previous slide.

In another example, a sequence of screenshots depicting another animatedslide transition is depicted in FIGS. 9A-9F. In this example, theanimation may be characterized as an “object zoom” animation in which,as depicted in FIGS. 9A-9D, a graphic object 182, here a circle, and acharacter object 184, here the text string “Circles”, arise out of theslide. In the depicted example, the graphic object 182 and the characterobject 184 rise up or appear at different times, i.e., the characterobject 184 is discernible first. Thus, the character object 184 and thegraphic object 182 are animated independently of one another, of otherobjects in the slide, and/or of other objects in the next slide. Inaddition, the sequence of screenshots depicts, in FIGS. 9E-9F, theexiting transition of the graphic object 182 and the character object184 from the slide. In this outgoing transition the graphic object 182and the character object 184 rise off the surface of the slide untilthey disappear, with the character object 184 disappearing first. Aswith the previous slide, the “object zoom” transition for the outgoingobjects may be applied to each object in an independent manner (such aseach object moving, appearing, or disappearing at a different speed)and/or without regard for the objects of the next slide.

The preceding examples are illustrative of the manner in whichindividual objects on a slide may be differentially or independentlymanipulated, e.g., animated, without regard to other objects in a slide.The preceding examples, however, are not exhaustive, and it is to beunderstood that any animation or manipulation suitable for an objectidentified in a slide may be applied to that object without regard tothe other objects in the slide or the objects in the previous or nextslides in certain object-aware transition embodiments.

Further, as previously noted, the identification and assignment ofanimations may be largely automatic in some embodiments. For example, auser may design two or more sequential slides, such as by placing thedesired objects on each slide in the desired locations. The user maythen simply select a type of transition, such as the above-describedisometric transition, for transitioning between two or more of theslides. In an automated implementation, the presentation applicationmay, knowing only the selected transition and the type and location ofthe objects on the slides, assigns suitable animation direction, speeds,effects, translucencies, and other animation effects to each objectbeing transitioned in and out.

The preceding discussion describes implementations in which thetransitions between slides do not take into account what the objects arethat are in the slides or whether the same object is present in both theoutgoing and incoming slide. However, in certain embodiments, the objectaware transition may take such object persistence in to account. Forexample, in certain implementations where the same object, be it a text,numeric, graphic, and/or video object, is present in consecutive slides,an animation or manipulation may be applied to the object whilemaintaining the object on the screen. Thus, in one implementation, anobject may be present in consecutive slides (though it may be indifferent locations, orientations, or at a different scale in the twoslides) and an animation may be applied to the object such that theobject appears to move, turn, resize, and so forth to reach theappropriate size, location, and/or orientation in the second slide afterthe transition.

As in the previously described embodiments, the identification of theobject may be performed automatically or based on user inputs. Inaddition, the determination that the object is present in consecutiveslides, though perhaps with different size or location properties, maybe performed automatically. For example, the object may be a .jpg or a.gif image which is referenced by a common file name or location (suchas an image gallery or library) when placed on the first and secondslides or may be a text or numeric object that contains the samecharacters. Thus, an automated routine may determine that the same imagefile or character string (word, phrase, sentence, paragraph, and soforth) is present in both slides, even if it is at different locationsin the slides or at different sizes. The presentation application maythen also evaluate different attributes of the common object, such assize, position, color, rotation, font, and so forth, to determine if anyof these attributes that differ between slides would preclude animationfrom one to the other. If however, the differences are susceptible to atransitional animation, the presentation application may automaticallydetermine an animation for the transition between slides such that thecommon object appears to be moved, scaled, rotated, and so forth intothe proper location for the incoming slide. Thus, in this embodiment,the user may do no more than design two sequential slides with one ormore objects in common and the presentation application will identifythe common objects on the sequential slides and provide appropriateanimated transitions for the common objects when going from the firstslide to the second.

For example, turning now to FIGS. 10A-10I, a sequence of screenshotsdepicting a slide transition is depicted. In this example, a graphicobject 182, here a stand, is present in both the outgoing and incomingslides. However, the graphic image 182 is at a different size andlocation in the first slide relative to the second slide. In addition, acharacter object 184, here the text string “Keynote”, is introduced inthe second slide which is not present in the first slide. In thedepicted example, the graphic object 182 is animated to appear to shrinkand to move upward on the screen as part of the transition betweenslides. In addition, the character object 184 is added during thetransition. As in previous embodiments, the graphic object 182 andcharacter object 184 may be animated or manipulated independently of oneanother.

In another embodiment of an object-aware transition that takes intoaccount the persistence of objects between slides, a character-basedexample is provided. In this example, the actual characters, be theyletters, numbers, punctuation, etc., on a slide may be evaluated forpersistence between slides. That is, the characters within a text and/ornumeric string may be considered to be the objects in the presentcontext. In an automated implementation, when evaluating the characterobjects to determine if the character object is present in consecutiveslides, the presentation application may evaluate different attributesof the character, such as the letter or number itself, the font, thefont size, the color, the presence of certain emphasis (highlight,underlining, italics, bold, strikethrough, and so forth) and otherattributes that may affect the similarity of the perceived character inconsecutive slides. In certain embodiments, the character might beidentical across the evaluated attributes to be retained or animatedbetween slides. In other embodiments, certain attributes, such as colorchanges, emphases, and so forth, may still allow animation and retentionof the character between slides.

In this example, while the characters may be present in consecutiveslides, they need no be used in the same words or numbers, and thereforeneed not remain in the same order. Turning to FIGS. 11A-11F, a sequenceof screenshots depicting a slide transition is depicted. In thisexample, the character string “Reduce” is initially displayed though,after the slide transition, the character “Reuse” will be displayed.Thus, the persistent character objects 210 “R”, “e”, and “u” are presentin both the first and second slide, though there is an intervening “d”in one slide but not the other.

In the depicted example, the non-persistent characters are slid away andfaded form view as part of the transition while the persistent characterobjects 210 remain in view and are slid into their new positionsconsistent with the word displayed on the second slide. As in previousembodiments, the character objects 210 may be animated or manipulatedindependently of one another. As will be appreciated, the presentexample depicts letters, however the characters may also be numbers,symbols, punctuation and so forth. In addition, though the presentexample described sliding and fading (or retaining) of the characters,in other embodiments other types of character animation may be employed.For example, instead of sliding on the screen, the transition animationmay instead rotate or flip the word about a vertical or horizontal axis,with the changes to the word being accomplished during the rotation orflip of the word. Indeed, any suitable form of character animation maybe employed in manipulating characters in such an embodiment.

As will be appreciated, the present techniques allow for identificationof objects on slides of a presentation and the independent manipulation,such as animation, of the objects during slide transitions. As describedherein, in some embodiments, no weight is given as to whether the sameobject or objects are present in consecutive slides. However, in otherembodiments, the presence of an object or objects in consecutive slidesmay be noted and manipulation of the objects during slide transition maytake advantage of the persistence of the objects. In certainembodiments, as described herein, the identification of objects and/orthe transitional manipulation of the identified objects may beautomatically derived, such as by a presentation application executingon a processor-based system.

While the invention may be susceptible to various modifications andalternative forms, specific embodiments have been shown by way ofexample in the drawings and have been described in detail herein.However, it should be understood that the invention is not intended tobe limited to the particular forms disclosed. Rather, the invention isto cover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention as defined by the followingappended claims.

1-20. (canceled)
 21. A method comprising: identifying one or morecharacters as being present in a character string on a first slide andin a different character string in a second slide; and generating atransition between the first slide and the second slide in which the oneor more characters remain on the screen and are animated from thecharacter string into the different character string.
 22. The method ofclaim 21, wherein the one or more characters comprise one or more ofalphabetic characters, numeric characters, symbols, or punctuationmarks.
 23. The method of claim 21, wherein the act of identifying isperformed by a routine implemented by a presentation applicationexecuting on a processor-based system.
 24. The method of claim 21,wherein the act of generating is performed by a routine implemented by apresentation application executing on a processor-based system.
 25. Themethod of claim 21, wherein the character string and/or the differentcharacter string comprise one or more of a word, a phrase, a sentence,or a paragraph.
 26. The method of claim 21, wherein the transitioncomprises an animation sliding, rotating, and/or flipping the one ormore characters.
 27. The method of claim 21, wherein the transitioncomprises an animation sliding, rotating, and/or flipping the characterstring to reveal the different character string containing the one ormore characters.
 28. A method for generating slide transitions for acomputer-implemented slide show presentation, comprising: providing afirst computer-executable routine to a processor or to a memory utilizedby the processor, wherein the first computer-executable routine, whenexecuted by the processor, determines an animation path for an object onan outgoing slide of a presentation slide show; and providing a secondcomputer-executable routine to the processor or to the memory utilizedby the processor, wherein the second computer-executable routine, whenexecuted by the processor, animates the object along the animation pathduring a transition to an incoming slide, wherein the object is animatedindependently of animations applied to other objects on the outgoingslide during the transition.
 29. The method of claim 28, comprisingproviding a third computer-executable routine to the processor or to thememory utilized by the processor, wherein the third computer-executableroutine, when executed by the processor, automatically identifies theobject on the outgoing slide.
 30. The method of claim 28, wherein theobject comprises a graphical object or a character object.
 31. Themethod of claim 28, wherein the animation path comprises one or more ofa translation of the object, a rotation of the object, a scaling of theobject, or a change in opacity of the object.
 32. The method of claim28, wherein the animation path translates the object off of an edge ofthe slide.
 33. The method of claim 28, wherein the object comprises animage, a shape, or a character or character string.
 34. The method ofclaim 28, comprising: providing a third computer-executable routine tothe processor or to the memory utilized by the processor, wherein thethird computer-executable routine, when executed by the processor,determines a different animation path for a different object on anincoming slide of the presentation slide show.
 35. The method of claim34, comprising: providing a fourth computer-executable routine to theprocessor or to the memory utilized by the processor, wherein the fourthcomputer-executable routine, when executed by the processor, animatesthe different object along the different animation path during thetransition to the incoming slide, wherein the different object isanimated independently of animations applied to other objects on theincoming slide during the transition.
 36. A method for animatingtransitions between slides of a computer-implemented slide showpresentation, comprising: providing a first routine to a processor or toa memory utilized by the processor, wherein the first routine, whenexecuted by the processor, determines a first object animation for afirst object on a slide of a slide show presentation; providing a secondroutine to the processor or to the memory utilized by the processor,wherein the second routine, when executed by the processor, determines asecond object animation for a second object on the slide, wherein thesecond object animation is different from the first object animation;and providing a third routine to the processor or to the memory utilizedby the processor, wherein the third routine, when executed by theprocessor, animates the first object in accordance with the first objectanimation and the second object in accordance with the second objectanimation during a slide transition.
 37. The method of claim 36,comprising: providing a third routine to the processor or to the memoryutilized by the processor, wherein the third routine, when executed bythe processor, automatically identifies the first object and the secondobject on the slide by reference to one or more features of the objects.38. The method of claim 37, wherein the one or more features compriseone or more of a file name, a file type, a path shape, the presence ofcharacters or character attributes, the presence of a visual effect, orthe presence of a mask.
 39. The method of claim 36, comprising:providing a third routine to the processor or to the memory utilized bythe processor, wherein the third routine, when executed by theprocessor, automatically classifies as least one of the first object orthe second object by object type.
 40. The method of claim 39, wherein atleast one of the first object animation or the second object animationis determined based in at least in part on the object type of therespective first object or second object.
 41. The method of claim 36,wherein at least one of the first object animation or the second objectanimation comprises one or more of a translation, a rotation, a scaling,or a change in opacity of the respective first object or second object.42. The method of claim 36, wherein at least one of the first objectanimation or the second object animation is determined based in at leastin part on the location of the respective first object or second objecton the slide.
 43. Computer-readable media comprising a computer programproduct, the computer program product comprising: a first routinecapable of determining a first animation for a first object on a slideand a second animation for a second object on the slide, wherein theslide is part of a multi-slide presentation; and a second routinecapable of animating the first object in accordance with the firstanimation and the second object in accordance with the second animationwhen the slide transitions to a next slide of the multi-slidepresentation.
 44. The computer-readable media of claim 43, the computerprogram product comprising a third routine capable of identifying thefirst object and the second object on the slide.
 45. Thecomputer-readable media of claim 44, wherein the third routine isfurther capable of locating the first object and the second object onthe slide.
 46. The computer-readable media of claim 44, wherein thethird routine is further capable of classifying the first object and thesecond object as respective object types.
 47. The computer-readablemedia of claim 43, wherein at least one of the first animation or thesecond animation comprises one or more of a translation, a rotation, ascaling or a change in opacity of the respective first object or secondobject.